/*
 * @Author: xym100111100 253274870@qq.com
 * @Date: 2024-03-19 10:23:53
 * @LastEditors: xym100111100 253274870@qq.com
 * @LastEditTime: 2024-08-21 21:15:52
 * @FilePath: \RuoYi-Vue3\src\api\login.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import request from '@/utils/request'


export type LoginReq = {
  username: string;
  password: string;
  confirmPassword?: string;
  rememberMe?: boolean;
  code?: string;
  uuid?: string;
};


type userInfo = {
  user:{
    userId:string,
    avatar:string,
    userName:string
  },
  roles:string[],
  permissions:string[]
}




// 登录方法
export function login(username:string, password:string, code?:string, uuid?:string) {
  const data = {
    username,
    password,
    code,
    uuid
  }
  return request<{},{token:string}>({
    url: '/login',
    headers: {
      isToken: false,
      repeatSubmit: false
    },
    method: 'post',
    data: data
  })
}

// 注册方法
export function register(data:LoginReq) {
  return request({
    url: '/register',
    headers: {
      isToken: false
    },
    method: 'post',
    data: data
  })
}

// 获取用户详细信息
export function getInfo() {
  return request<{},userInfo>({
    url: '/getInfo',
    method: 'get'
  })
}

// 退出方法
export function logout() {
  return request({
    url: '/logout',
    method: 'post'
  })
}

// 获取验证码
export function getCodeImg() {
  return request({
    url: '/captchaImage',
    headers: {
      isToken: false
    },
    method: 'get',
    timeout: 20000
  })
}